package com.itheima.stock.service;

import com.itheima.stock.common.domain.*;
import com.itheima.stock.config.vo.PageResult;
import com.itheima.stock.pojo.StockBusiness;
import com.itheima.stock.vo.resp.R;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

public interface StockService {


    List<StockBusiness> findAll();

    //获取最新的A股大盘信息,如果不在股票交易日,则显示最近最新的交易数据信息
    R<List<InnerMarketDomain>> getNewMarketInfo();

    //沪深两市板块分时行情数据查询,以交易时间和交易金额降序查询,取前十条数据
    R<List<StockBlockDomain>> sectorAllLimit();

    //统计沪深两市个股最新交易数据,并按涨幅降序排列查询前十条信息
    R<List<StockUpdownDomain>> stockIncreaseLimit();

    //分页查询股票交易数据,按照日期和涨幅降序排序
    R<PageResult<StockUpdownDomain>> getStockInfo4Page(Integer page, Integer pageSize);

    //统计T日(最近最新一次股票交易日)涨停和跌停分数统计
    R<Map> getSotckUpdownCount();

    //将指定页的股票数据导出到excel表下
    void stockExport(HttpServletResponse response, Integer page, Integer pageSize) throws IOException;

    //功能描述：统计国内A股大盘T日和T-1日成交量对比功能（成交量为沪市和深市成交量之和）,T-1日保证与T日时间线对其
    R<Map> getStockTradeVol4Comparison();

    //统计计当前时问下（精确到分钟），股票在各个冰阳区问的数量
    R<Map> getStockUpDownRegion();

    //查询个股的分时行情数据，也就是统计指定股票T日每分钟的交易数据
    R<List<Stock4MinuteDomain>> stockCreenTimeSharing(String stockCode);

    //功能描述:个股日K数据查询,可以根据时间区问查询数日的K线数据 , 默认查询历史20天的数据;
    R<List<Stock4EvrDayDomain>> stockScreenDkLine(String code);
}
